package com.lz.ub.hm

/**
 * @author you
 * 指令回调, 在主线程中
 */
interface UBCommandCallback {

    /**
     * 响应连接状态
     */
    fun onConnectedStateChanged(isConn: Boolean, status: Int)

    /**
     * 设备正式连接
     */
    fun onServiceStateChanged(status: Int, link: Int)

    /**
     * 属性值设置回调
     */
    fun onPropertyStateChanged(status: Int)

    /**
     * 写入
     */
    fun onWrite(status: Int)

    /**
     * 接收到的数据
     * @param link 收到的数据已代表此link被占用, 主当从时要注意
     * @param start 数据索引开始位置
     */
    fun onRead(link: Int, bytes: ByteArray, start: Int, size: Int)

    /**
     * 扫描结果
     */
    fun onScanResult(result: List<UBScanResult>)

    /**
     * 异常
     */
    fun onError(err: String)
}